5 POKE56576,6:POKE53272,222:POKE648,116:POKE53265,27:POKE56,116:POKE55,0
6 S9=54272:FORI=S9TOS9+24:POKEI,0:NEXT
7 BB$="[155]             SLIDING BLOCKS[157][157][157][157][157][157][157][157][157][157][157][157][157][157][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
8 SZ$="[145]                                      [145]"
10 POKE53280,0:POKE53281,0:PRINT"[147]":PRINTBB$
30 POKE53269,0:POKE30712,248:POKE53287,1
40 DIMPC(6,7,5),DN(5,6,5)
50 FORX=1TO4:READBK$(X):NEXT
60 DATA"[207][183][183][208][157][157][157][157][180][160][160][170][157][157][157][157][204][175][175][186]","[207][183][183][183][183][183][183][208][157][157][157][157][157][157][157][157][180][160][160][160][160][160][160][170][157][157][157][157][157][157][157][157][204][175][175][175][175][175][175][186]"
70 DATA"[207][183][183][208][157][157][157][157][180][160][160][170][157][157][157][157][180][160][160][170][157][157][157][157][180][160][160][170][157][157][157][157][180][160][160][170][157][157][157][157][204][175][175][186]"
80 DATA"[207][183][183][183][183][183][183][208][157][157][157][157][157][157][157][157][180][160][160][160][160][160][160][170][157][157][157][157][157][157][157][157][180][160][160][160][160][160][160][170][157][157][157][157][157][157][157][157][180][160][160][160][160][160][160][170][157][157][157][157][157][157][157][157]"
90 BK$(4)=BK$(4)+"[180][160][160][160][160][160][160][170][157][157][157][157][157][157][157][157][204][175][175][175][175][175][175][186]"
100 FORGM=1TO5:FORY=2TO6:FORX=2TO5:READPC(X,Y,GM):NEXT:NEXT:NEXT
110 DATA4,-1,2,-1, -4,-5,2,-1, 1,,,1, 3,3,2,-1, -4,-4,2,-1
120 DATA0,4,-1,, 3,-4,-5,3, -4,1,1,-4, 3,1,1,3, -4,2,-1,-4
130 DATA3,,,3, -4,4,-1,-4, 3,-4,-5,3, -4,2,-1,-4, 1,1,1,1
140 DATA1,4,-1,1, 3,-4,-5,3, -4,3,,-4, 1,-4,,1, 2,-1,2,-1
150 DATA1,4,-1,1, 3,-4,-5,3, -4,3,,-4, 1,-4,,1, 2,-1,2,-1
160 FORGM=1TO5:FORY=2TO6:FORX=2TO5:READDN(X,Y,GM):NEXT:NEXT:NEXT
170 DATA0,,,,,,,,,,,,,,4,,,,,0
180 DATA3,3,3,3,,,,,,2,,,1,4,,1,1,,,1
190 DATA0,,,,,,,,,,,,,4,,,,,,0
200 DATA0,,,,,,,,,,,,,4,,,,,,0
210 DATA2,,2,,1,,3,1,3,,,3,,4,,,1,,,1
220 FORX=1TO5:READDN$(X):NEXT
230 DATA"[172][163][157][157][165] "
240 DATA"[172][172][172][172][157][157][157][157][165][165][165][165][157][157][157][146][172][163][157][157][157][146][172][172][163][146][172][157][157][157][157][172][165] [146][172]"
250 DATA"[172][163][157][157][165] "
260 DATA"[172][163][157][157][165] "
270 DATA"[172][163][146][172][163][146][157][157][157][157][172] [172][172][157][157][157][157][172] [165][146][172][157][157][157][157][165][146][172][163][165][146][157][157][157][157][172][165] [146][172]"
280 FORX=1TO5:READMV(X),BG(X):NEXT
290 DATA 39,49152, 107,49232, 162,49448, 147,49774, 258,50070
300 FORX=1TO5:READGM$(X):NEXT
310 DATADAD'S PUZZLER,PIONEER 1,THE DONKEY,THE CENTURY,CENTURY AND A HALF
320 PRINTBB$:PRINT"[155]":FORX=1TO5:PRINTTAB(9)""X"[154] "GM$(X):PRINT:NEXT
325 POKE53269,0
330 PRINTTAB(10)"[155](I[155])NSTRUCTIONS"
340 PRINTTAB(10)"(S[155])OLUTIONS"
345 PRINTTAB(10)"(Q[155])UIT TO LOADSTAR"
350 PRINT"        [159](C) 1990 BY BRIAN BOESE":POKE198,0
360 GETA$:IFA$<>"Q"ANDA$<>"I"ANDA$<>"S"AND(A$<"1"ORA$>"5")THEN360
370 IFA$="I"THENGOSUB1140:PRINT"[147]":GOTO320
380 IFA$<>"Q"THEN430
390 POKE214,19:PRINT:PRINT"       [156]QUIT - ARE YOU SURE? (Y[156]/N[156])":POKE198,0
400 GETA$:IFA$<>"Y"ANDA$<>"N"THEN400
410 IFA$="N"THENPRINTSZ$:GOTO320
420 OPEN15,8,15,"R0:HELLO CONNECT=HELLO CONNECT":INPUT#15,ER:CLOSE15:PRINTER
422 IFER<>63THENPOKE56576,151:POKE648,4:POKE53272,21:POKE53269,0:PRINT"[147]":END
424 PRINT"[147][144]LOAD"CHR$(34)"HELLO CONNECT"CHR$(34)",8"
426 PRINT"RUN"
428 POKE631,13:POKE632,13:POKE198,2:END
430 IFA$<>"S"THEN640
440 POKE214,17:PRINT:PRINT"       [156]SOLUTION FOR WHICH? (1[156]-5[156])":POKE198,0
450 GETA$:IFA$<>"Q"AND(A$<"1"ORA$>"5")THEN450
460 IFA$="Q"THENPRINTSZ$:GOTO320
470 GOSUB1450:PS=BG(GM)
480 GETA$:IFA$<>"Q"THEN530
490 POKE214,21:PRINT:PRINT"       [156]QUIT - ARE YOU SURE? (Y[156]/N[156])"
500 GETA$:IFA$<>"Y"ANDA$<>"N"THEN500
510 IFA$="Y"THENRUN
530 FM=PEEK(PS):DR=PEEK(PS+1):PS=PS+2:IFFM+DR=0THEN610
540 Y=INT(FM/4+2):X=FM-(Y-2)*4+2:PC=PC(X,Y,GM)
550 GOSUB1350
560 IFDR=0THENY=Y-1
570 IFDR=1THENX=X+1
580 IFDR=2THENY=Y+1
590 IFDR=3THENX=X-1
600 GOSUB1400:FORQ=1TO200:NEXT:GOTO480
610 POKE214,21:PRINT:PRINT"       [158]PRESS ANY KEY TO CONTINUE"
620 GOSUB1280
630 RUN
640 GOSUB1450
650 POKE53248,11+32*X:POKE53249,49+24*Y:POKE53269,1
655 POKE214,21:PRINT:PRINT"        [156]PRESS Q[156] TO QUIT TO MENU"
660 GOSUB1280
670 IFA$<>"Q"THEN720
680 POKE214,21:PRINT:PRINT"       [156]QUIT - ARE YOU SURE? (Y[156]/N[156])":POKE198,0
690 GETA$:IFA$<>"Y"ANDA$<>"N"THEN690
700 IFA$="Y"THENRUN
710 PRINTSZ$:GOTO655
720 IFA$=""THENY=Y-(Y<6)
730 IFA$="[145]"THENY=Y+(Y>2)
740 IFA$="[157]"THENX=X+(X>2)
750 IFA$=""THENX=X-(X<5)
760 IFA$<>CHR$(13)ORPC(X,Y,GM)=0THEN650
770 GOSUB50770:DX=0:DY=0:IFPC(X,Y,GM)>0THEN800
780 IFPC(X,Y,GM)<>-4THENX=X-1:DX=1
790 IFPC(X,Y,GM)<-1THENY=Y-1:DY=1
800 PC=PC(X,Y,GM):GOSUB1130:PRINT"[154][146]"BK$(PC)
810 GOSUB1280:IFA$=CHR$(13)THENGOSUB50770:GOTO1060
820 IFA$<>""THEN890
830 IFX=5THEN1060
840 IF(PC=1)AND(PC(X+1,Y,GM)<>0)THEN1060
850 IF(PC=2ORPC=4)AND(PC(X+2,Y,GM)<>0ORX=4)THEN1060
860 IF(PC=3)AND(PC(X+1,Y,GM)<>0ORPC(X+1,Y+1,GM)<>0)THEN1060
870 IF(PC=4)AND(PC(X+2,Y+1,GM)<>0ORX=4)THEN1060
880 GOSUB1350:X=X-(X<5):GOTO1070
890 IFA$<>"[157]"THEN940
900 IFX=2THEN1060
910 IFPC(X-1,Y,GM)<>0THEN1060
920 IF(PC=3ORPC=4)AND(PC(X-1,Y+1,GM)<>0)THEN1060
930 GOSUB1350:X=X+(X>2):GOTO1070
940 IFA$<>""THEN1010
950 IFY=6THEN1060
960 IF(PC=1ORPC=2)AND(PC(X,Y+1,GM)<>0)THEN1060
970 IF(PC=2)AND(PC(X+1,Y+1,GM)<>0)THEN1060
980 IF(PC=3ORPC=4)AND(PC(X,Y+2,GM)<>0ORY=5)THEN1060
990 IF(PC=4)AND(PC(X+1,Y+2,GM)<>0)THEN1060
1000 GOSUB1350:Y=Y-(Y<6):GOTO1070
1010 IFA$<>"[145]"THEN1060
1020 IFY=2THEN1060
1030 IFPC(X,Y-1,GM)<>0THEN1060
1040 IF(PC=2ORPC=4)AND(PC(X+1,Y-1,GM)<>0)THEN1060
1050 GOSUB1350:Y=Y+(Y>2):GOTO1070
1060 MV=MV-1
1070 GOSUB1400
1080 WN=-1:FORV=2TO6:FORH=2TO5:IFDN(H,V,GM)=0THEN1100
1090 IFDN(H,V,GM)<>PC(H,V,GM)THENWN=0:V=7:H=6
1100 NEXT:NEXT:IFNOTWNTHEN650
1110 POKE214,20:PRINT:PRINTTAB(13)"[158]YOU GOT IT!!!":GOSUB50670
1120 PRINT"       PRESS ANY KEY TO CONTINUE":GOSUB1280:RUN
1130 PRINT"":FORA=2TOX:PRINT"";:NEXT:FORA=2TOY:PRINT"";:NEXT:RETURN
1140 PRINT"[147]"TAB(14)"[155]INSTRUCTIONS":PRINTTAB(14)"[163][163][163][163][163][163][163][163][163][163][163][163]"
1150 PRINT"[154]   TRY TO POSITION THE PIECES INDICATED"
1160 PRINT"AT THE SIDE INTO THE CORRECT POSITIONS,"
1170 PRINT"SHOWN IN THE SMALL BOX AT THE SIDE. NOTE";
1180 PRINT"THAT IN SOME OF THE PUZZLES, NOT ALL"
1190 PRINT"PIECES HAVE TO BE IN A SPECIFIC"
1200 PRINT"POSITION."
1210 PRINT"   MOVE THE POINTER USING EITHER THE"
1220 PRINT"CURSOR KEYS OR A JOYSTICK IN PORT 2."
1230 PRINT"SELECT A PIECE BY PRESSING AND RELEASING";
1240 PRINT"THE FIRE BUTTON OR RETURN KEY."
1250 PRINT"  PRESS 'Q' AT ANY TIME TO END THE GAME"
1260 PRINT"[158]PRESS ANY KEY TO CONTINUE"
1270 GOSUB1280:RETURN
1280 POKE198,0
1285 GETA$:JS=PEEK(56320)AND31:IFA$=""ANDJS=31THEN1285
1290 IF(JSAND1)=0THENA$="[145]"
1300 IF(JSAND2)=0THENA$=""
1310 IF(JSAND4)=0THENA$="[157]"
1320 IF(JSAND8)=0THENA$=""
1330 IF(JSAND16)=0THENA$=CHR$(13):WAIT56320,16,239
1331 FORQ=1TO100:NEXT
1340 RETURN
1350 PC(X,Y,GM)=0
1360 IF(PC=2ORPC=4)THENPC(X+1,Y,GM)=0
1370 IF(PC=3ORPC=4)THENPC(X,Y+1,GM)=0
1380 IF(PC=4)THENPC(X+1,Y+1,GM)=0
1390 GOSUB1130:PRINT"[144]"BK$(PC):RETURN
1400 GOSUB1130:PRINT"[154]"BK$(PC):PC(X,Y,GM)=PC
1410 IF(PC=2ORPC=4)THENPC(X+1,Y,GM)=-1
1420 IF(PC=3ORPC=4)THENPC(X,Y+1,GM)=-4
1430 IF(PC=4)THENPC(X+1,Y+1,GM)=-5
1440 X=X+DX:Y=Y+DY:MV=MV+1:PRINT"[157][157][157][157][157][157][159]"MV:RETURN
1450 GM=VAL(A$):PRINT"[147][155]"GM$(GM)
1460 PRINT""TAB(25)"[159]SOLUTION:"MV(GM):PRINTTAB(25)"MOVES:    0[145][145][145][145]"
1470 PRINT"[158][213][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][201]"
1480 FORX=1TO15:PRINT"[194]                [194]":NEXT
1490 PRINT"[202][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][203]"
1500 FORX=2TO5:FORY=2TO6:IFPC(X,Y,GM)<=0THEN1520
1510 GOSUB1130:PRINT"[154]"BK$(PC(X,Y,GM))
1520 NEXT:NEXT
1530 PRINT""TAB(25)"[158][213][195][195][195][195][201]"
1540 FORX=1TO5:PRINTTAB(25)"[194]    [194]":NEXT
1550 PRINTTAB(25)"[202][195][195][195][195][203]"
1560 PRINT""TAB(26)"[154]"DN$(GM):X=2:Y=2:MV=0:RETURN
10000 OPEN15,8,15,"S0:SLIDING BLOCKS":CLOSE15:SAVE"SLIDING BLOCKS",8:END
50650 REM YOU WIN
50660 S=54272:FORI=STOS+24:POKEI,0:NEXT
50670 POKES9+5,27:POKES9+6,73
50680 FORA9=1TO4:GOSUB50700:NEXT:RETURN
50690 A9=0:P9=0:RETURN
50700 P9=10:POKES9+4,33:POKES9+24,15
50710 POKES9+1,P9:POKES9,0
50720 P9=P9+2:IFP9<47THEN50710
50730 POKES9+4,32
50740 RETURN
50750 REM BELL
50760 S9=54272:FORI=S9TOS9+24:POKEI,0:NEXT
50770 POKES9+5,25:POKES9+6, 9
50780 POKES9+2,156:POKES9+3,13
50790 POKES9+24,15
50800 POKES9+1,68:POKES9,80
50810 POKES9+15,1:POKES9+4,19
50820 FORT9=1TO100:NEXT
50830 POKES9+4,18
50840 RETURN